package edu.chl.dat255.bluebanana.logic;

import java.util.ArrayList;

import edu.chl.dat255.bluebanana.presentation.IProfileView;
import edu.chl.dat255.bluebanana.presentation.impl.ProfileView;
import edu.chl.dat255.bluebanana.utils.Observable;
import edu.chl.dat255.bluebanana.utils.Observer;

public interface IProfileHandler extends Observer, Observable {
	//Activation / Deactivation of profiles.
	/**
	 * @param view The ProfileView to activate
	 * @param id The profile id
	 */
	public void activateProfile(ProfileView view, long id);
	/**
	 * 
	 * @param view The ProfileView to deactivate
	 * @param id The profile id
	 */
	public void deactivateProfile(ProfileView view, long id);
	/**
	 * 
	 * @return The id of the currently active profile
	 */
	public long getActiveProfileId();
	/**
	 * 
	 * @param profileViews An ArrayList of IProfileViews
	 */
	public void deactivateAllProfiles(ArrayList<IProfileView> profileViews);
}
